package com.mmy.fta.coldtruck.api;

import com.mmy.fta.coldtruck.api.dto.ColdTruckDTO;
import com.mmy.fta.coldtruck.api.dto.ColdTruckTHData;
import com.mmy.fta.coldtruck.api.dto.RealTimeThDataDTO;
import com.mmy.fta.coldtruck.api.dto.TruckOrderDTO;
import com.ymm.common.rpc.YmmResult;
import com.ymm.common.web.YmmResponse;

/**
 * @author qingyu.meng
 * @date 2021年11月09日 11:07 上午
 */
public interface ColdTruckService {

     /**
      * 发布冷链货源
      * @param coldTruckDTO
      * @return
      */
     YmmResult publishColdCargo(ColdTruckDTO coldTruckDTO);

     YmmResult generateColdTruckOrder(TruckOrderDTO truckOrderDTO);


     /**
      * 30分钟级别数据生成器
      * @param truckNo
      * @param orderId
      * @param minTemperature
      * @param maxTemperature
      * @param minHumidity
      * @param maxHumidity
      * @param minAlarmTemperature
      * @param maxAlarmTemperature
      * @param minAlarmHumidity
      * @param maxAlarmHumidity
      * @return
      */
     YmmResult generateTH30Min(String truckNo, Long orderId, Double minTemperature
             , Double maxTemperature, Double minHumidity, Double maxHumidity,Double minAlarmTemperature,Double maxAlarmTemperature
             ,Double minAlarmHumidity,Double maxAlarmHumidity);

     /**
      * 60分钟级别数据生成器
      * @param truckNo
      * @param orderId
      * @param minTemperature
      * @param maxTemperature
      * @param minHumidity
      * @param maxHumidity
      * @param minAlarmTemperature
      * @param maxAlarmTemperature
      * @param minAlarmHumidity
      * @param maxAlarmHumidity
      * @return
      */
     YmmResult generateTH60Min(String truckNo, Long orderId, Double minTemperature
             , Double maxTemperature, Double minHumidity, Double maxHumidity,Double minAlarmTemperature,Double maxAlarmTemperature
             ,Double minAlarmHumidity,Double maxAlarmHumidity);


     /**
      * 数据模拟生成器
      * @param truckNo
      * @param orderId
      * @param minTemperature
      * @param maxTemperature
      * @param minHumidity
      * @param maxHumidity
      * @return
      */
     YmmResult generateRealThData(String truckNo, Long orderId, Double minTemperature
            , Double maxTemperature, Double minHumidity, Double maxHumidity,Double minAlarmTempearture,Double maxAlarmTemperature
             ,Double minAlarmHumidity,Double maxAlarmHumidity);

     /**
      * 跑马灯数据接口
      * @param cargoId
      * @return
      */
     YmmResult<ColdTruckTHData> paoMaDeng(String cargoId);


     /**
      *
      * @param orderId
      * @return
      */
     YmmResult alarm(Long orderId,String phoneNum);

}
